package com.example.demo3udp2;

import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.util.Scanner;

/**
 * 目标：完成UDP通信多发多收：客户端开发
 */
public class UDPClientDemo1 {
    public static void main(String[] args) throws Exception {
        System.out.println("===客户端启动===");
        // 1.创建发送端的对象：DatagramSocket
        DatagramSocket socket = new DatagramSocket(); // 随机端口

        Scanner sc = new Scanner(System.in);
        while (true) {
            // 2.创建数据包对象封装要发送的数据
            System.out.print("请输入要发送的数据：");
            String msg = sc.nextLine(); // 注意：这里不能用next()，否则无法接收空格

            // 如果用于输入的是exit,则退出
            if ("exit".equals(msg)) {
                System.out.println("===客户端退出===");
                socket.close();
                break;
            }

            byte[] bytes = msg.getBytes();
            DatagramPacket packet = new DatagramPacket(bytes, bytes.length, InetAddress.getLocalHost(), 8080);

            // 3.发送数据
            socket.send(packet);
        }
    }
}
